package com.springjooq.sdun.config.core.shiro.shiroService;

import com.springjooq.sdun.config.core.shiro.ShiroUser;
import com.springjooq.sdun.mybatisplus.system.entity.User;
import org.apache.shiro.authc.SimpleAuthenticationInfo;

import java.util.List;

/**
 * @Description
 * @auther Szper
 * @create 2019-09-11 19:16
 */
public interface UserAuthService {
    /**
     * 根据账号获取user
     * @param account 账号
     * @return
     */
    User user(String account);

    /**
     * 根据系统用户获取shiroUser
     * @param user
     * @return
     */
    ShiroUser shiroUser(User user);

    /**
     * 通过角色id获取权限列表
     * @param roleId 角色id
     * @return
     */
    List<String> findPermissionsByRoleId(Long roleId);

    /**
     *  根据角色id获取角色名称
     * @param roleId
     * @return
     */
    String findRoleNameByRoleId(Long roleId);

    /**
     * 获取shiro认证信息
     * @param shiroUser
     * @param user
     * @param realmName
     * @return
     */
    SimpleAuthenticationInfo info(ShiroUser shiroUser, User user, String realmName);
}
